Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
To perform fair and timely transactions over host computers remotely located and connected through one or more computer networks, the host typically needs the same reference clock, or synchronized clocks. These clocks may have different time offset, which may be adjusted. However, the host clocks may have different clock skew, which is relatively difficult to measure.
Network Time Protocol (NTP) is a widely used clock synchronization protocol to correct clock information between network nodes. NTP runs on a large distributed network of time servers including different levels of clock accuracy. The time servers may be connected in hierarchical manner, where the most accurate servers are located at the top tier of the NTP network. Nodes connected to the NTP network may synchronize their clocks from a neighbor node whose time information is already adjusted by an upper tier NTP node (e.g., a time server). NTP uses complex data filtering, peer selection, and combining algorithms between the participating nodes in its network for clock synchronization. However, it is not guaranteed that NTP can always eliminate relative clock skew between two nodes even if their clocks are synchronized by a top layer time server.